The functions of a computer are typically controlled by a central processing unit (“CPU”), commonly referred to as a processor. As processing demands increased, a single processor computer system was no longer considered sufficient. As a result, new computer system architectures evolved to include multiple processors housed within one computer system. FIG. 1 shows such a prior art system architecture.
Typically, a multiprocessor system (100) includes a number of processors (i.e., Processor A (102), Processor B (104), Processor C (106), and Processor D (108)) all connected by an interconnect (110). The interconnect (110) allows the processors (i.e., Processor A (102), Processor B (104), Processor C (106), and Processor D (108)) to communicate with each other. Further, the interconnect (110) allows the processors to interface with a shared memory (112) and access other systems via a router (114).
A multiprocessor operating system (116) is typically used to control the processors (Processor A (102), Processor B (104), Processor C (106), and Processor D (108)). The multiprocessor operating system (116) provides a software platform upon which various services (118), for example, an e-mail server, a web server, a document management system, a database query engine, etc., may execute. More specifically, the multiprocessor operating system (116) receives requests from the various services and forwards the request onto the processors, which generate a response, and returns the response back to the requesting service, via the multiprocessor operating system (116).
Typically, the multiprocessor operating system (116) forwards requests to the processor designated as the master processor (in this example, processor A (102)). The processor designated as the master processor subsequently schedules the request to be processed on one of the other processors (i.e., the slave processors (104, 106, 108)). After the scheduled slave processor has completed processing the request and generated a result, the result is returned to the master processor. The master processor subsequently returns the result, via the multiprocessor operating system, to the requesting service.